const http=require('http')
const fs=require('fs')

http.createServer((req,res)=>{
    // 异步变同步  阻塞式
    const stat=fs.statSync('./a.txt')
    // fs.stat('./a.txt',(err,stat)=>{

    // })
    // console.log(stat)
    // 怎么让第一个请求得到文件的最后一次修改时间
    if(req.headers['if-modified-since']){
        if(req.headers['if-modified-since']==stat.mtime.toGMTString()){ // 或者 stat.mtimeMS
            res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'})
            console.log('304')
            res.end()
            return;
        }
        else{
            res.writeHead(200,{'Content-Type':'text/html;charset=utf-8'})
            res.end(fs.readFileSync('./a.txt'))
        }
    }
    else{
        // 在响应内容的同时，写入响应头，文件最后修改时间是
        res.setHeader('Last-Modified',stat.mtime.toGMTString())
        res.end(fs.readFileSync('./a.txt'))
    }
    
}).listen(3003)